<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/MMITDomain.Entities" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/MMITDomain.Entities" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="ArrayOfTransactionCharge">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TransactionCharge" nillable="true" type="tns:TransactionCharge" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTransactionCharge" nillable="true" type="tns:ArrayOfTransactionCharge" />
  <xs:complexType name="TransactionCharge">
    <xs:sequence>
      <xs:element minOccurs="0" name="Amount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="Charge" nillable="true" type="tns:Charge" />
      <xs:element minOccurs="0" name="ChargeId" type="xs:int" />
      <xs:element minOccurs="0" name="CreditParty" nillable="true" type="tns:Account" />
      <xs:element minOccurs="0" name="CreditPartyId" type="xs:int" />
      <xs:element minOccurs="0" name="DebitParty" nillable="true" type="tns:Account" />
      <xs:element minOccurs="0" name="DebitPartyId" type="xs:int" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="IsReversed" type="xs:boolean" />
      <xs:element minOccurs="0" name="TransactionId" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="mTransaction" nillable="true" type="tns:Transaction" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TransactionCharge" nillable="true" type="tns:TransactionCharge" />
  <xs:complexType name="Charge">
    <xs:sequence>
      <xs:element minOccurs="0" name="AccountType" nillable="true" type="tns:AccountType" />
      <xs:element minOccurs="0" name="AccountTypeId" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="FixedAmount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="MaxAmount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="MinAmount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PercentageAmount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="Status" type="xs:int" />
      <xs:element minOccurs="0" name="TransactionType" nillable="true" type="tns:TransactionType" />
      <xs:element minOccurs="0" name="TransactionTypeId" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Charge" nillable="true" type="tns:Charge" />
  <xs:complexType name="AccountType">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AccountType" nillable="true" type="tns:AccountType" />
  <xs:complexType name="TransactionType">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TimeOutPeriodInHours" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TransactionType" nillable="true" type="tns:TransactionType" />
  <xs:complexType name="Account">
    <xs:sequence>
      <xs:element minOccurs="0" name="AccountType" nillable="true" type="tns:AccountType" />
      <xs:element minOccurs="0" name="AccountTypeId" type="xs:int" />
      <xs:element minOccurs="0" name="ActualBalance" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="AvailableBalance" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="Currency" nillable="true" type="tns:Currency" />
      <xs:element minOccurs="0" name="CurrencyId" type="xs:int" />
      <xs:element minOccurs="0" name="Customer" nillable="true" type="tns:Customer" />
      <xs:element minOccurs="0" name="CustomerId" type="xs:int" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Rules" nillable="true" type="tns:ArrayOfRule" />
      <xs:element minOccurs="0" name="Status" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Account" nillable="true" type="tns:Account" />
  <xs:complexType name="Currency">
    <xs:sequence>
      <xs:element minOccurs="0" name="Countries" nillable="true" type="tns:ArrayOfCountry" />
      <xs:element minOccurs="0" name="ISOCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ISOCodeNum" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Status" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Currency" nillable="true" type="tns:Currency" />
  <xs:complexType name="ArrayOfCountry">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Country" nillable="true" type="tns:Country" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCountry" nillable="true" type="tns:ArrayOfCountry" />
  <xs:complexType name="Country">
    <xs:sequence>
      <xs:element minOccurs="0" name="Currencies" nillable="true" type="tns:ArrayOfCurrency" />
      <xs:element minOccurs="0" name="DiallingCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ISOCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Status" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Country" nillable="true" type="tns:Country" />
  <xs:complexType name="ArrayOfCurrency">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Currency" nillable="true" type="tns:Currency" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCurrency" nillable="true" type="tns:ArrayOfCurrency" />
  <xs:complexType name="Customer">
    <xs:sequence>
      <xs:element minOccurs="0" name="Accounts" nillable="true" type="tns:ArrayOfAccount" />
      <xs:element minOccurs="0" name="Country" nillable="true" type="tns:Country" />
      <xs:element minOccurs="0" name="CountryId" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="CreatedBy" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DateCreated" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Firstname" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="IdentificationNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IdentificationType" nillable="true" type="tns:IdentificationType" />
      <xs:element minOccurs="0" name="IdentificationTypeId" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Lastname" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Middlename" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Mobile" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Sex" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Username" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Customer" nillable="true" type="tns:Customer" />
  <xs:complexType name="ArrayOfAccount">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Account" nillable="true" type="tns:Account" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAccount" nillable="true" type="tns:ArrayOfAccount" />
  <xs:complexType name="IdentificationType">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Status" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="IdentificationType" nillable="true" type="tns:IdentificationType" />
  <xs:complexType name="ArrayOfRule">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Rule" nillable="true" type="tns:Rule" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRule" nillable="true" type="tns:ArrayOfRule" />
  <xs:complexType name="Rule">
    <xs:sequence>
      <xs:element minOccurs="0" name="Account" nillable="true" type="tns:Account" />
      <xs:element minOccurs="0" name="AccountId" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="MaxBalance" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="MinBalance" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="NumberOfTransactions" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="TransactionAmount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="TransactionRole" nillable="true" type="tns:TransactionRole" />
      <xs:element minOccurs="0" name="TransactionRoleId" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="TransactionType" nillable="true" type="tns:TransactionType" />
      <xs:element minOccurs="0" name="TransactionTypeId" type="xs:int" />
      <xs:element minOccurs="0" name="WindowPeriodInHours" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Rule" nillable="true" type="tns:Rule" />
  <xs:complexType name="TransactionRole">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TransactionRole" nillable="true" type="tns:TransactionRole" />
  <xs:complexType name="Transaction">
    <xs:sequence>
      <xs:element minOccurs="0" name="Amount" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="Authorisation" nillable="true" type="tns:Account" />
      <xs:element minOccurs="0" name="AuthorisationId" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="LastUpdate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ParentId" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="Recipient" nillable="true" type="tns:Account" />
      <xs:element minOccurs="0" name="RecipientId" type="xs:int" />
      <xs:element minOccurs="0" name="Sender" nillable="true" type="tns:Account" />
      <xs:element minOccurs="0" name="SenderId" type="xs:int" />
      <xs:element minOccurs="0" name="Status" type="xs:int" />
      <xs:element minOccurs="0" name="TimeFinalised" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="TimeInitiated" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="TimeProcessed" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="TransactionCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransactionType" nillable="true" type="tns:TransactionType" />
      <xs:element minOccurs="0" name="TransactionTypeId" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Transaction" nillable="true" type="tns:Transaction" />
</xs:schema>